﻿Public Class GecikmeZammiHesabi
	Inherits ProcessReport

	Dim tarih1, tarih2, odetar As Input

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Start("Gecikme Zammı Hesabı", "Tarih aralığını ve primin ödeneceği dönemi girin.")
				tarih1 = AddDate("@tarih1", "Baş.Tarihi", "", "", "Başlangıç tarihini girmelisiniz.")
				tarih2 = AddDate("tarih2", "Bit.Tarihi", "", YMD(Today.AddDays(-Today.Day + 1).AddMonths(-2)), "Bitiş tarihini girmelisiniz.")
				odetar = AddDate("odetar", "Ödeme Tar.", "nl", YMD(Prim.SonrakiOdemeTarihi(Today)), "Ödeme tarihini girmelisiniz.")
			Case EventType.ValidateForm
				e.Result = True
			Case EventType.PageHeader
				Report.PrintReportInfo("PRİM GECİKME ZAMMI ORANLARI", DMY(tarih1.Get) & " - " & DMY(tarih2.Get) & " TARİHLERİ ARASI")
				Report.SetColumns("Bordo Tar.;Ödeme Tar.;İşçi (SSY);İşveren (SSY);Bağımsız (SSY);İşçi (SGY);İşveren (SGY);Bağımsız (SGY)", "2;2;2;2;2;2;2;2", "d;d;c;c;c;c;c;c", "--")
			Case EventType.ReportDetail
				Dim Tarih As Date = tarih1.Get
				Do Until Tarih > tarih2.Get
					Dim r(6) As Single
					Dim i As Integer = 1
					For Each Item As Object In Split("D;H;K;D1;H1;K1", ";")
						r(i) = Prim.GecikmeZammiHesabi(Item, Tarih, odetar.Get)
						i += 1
					Next
					Report.Print(Tarih, odetar.Get, "%" & r(1), "%" & r(2), "%" & r(3), "%" & r(4), "%" & r(5), "%" & r(6))
					Tarih = Tarih.AddMonths(1)
				Loop
		End Select
	End Sub

End Class
